get free quote

Minimize DNS Lookups Çözümü

DNS Aramalarını En Aza İndirmek

 

Nedir : DNS aramaları, bir ana bilgisayara ilk istekleri geciktirir. Çok sayıda farklı ana bilgisayara istek yapmak performansa zarar verebilir.
Çözüm : Ana makinelerinin sayısını azaltın ayrıca harici bir kaynağa referans verilen dosyaları indirin ve bunları kaynak sunucunuzda veya CDN'de barındırın.
Uzman Yorumu : 3. parti yerlerden çok fazla istek atılmaması gerekir. JS ve CSS kaynaklarını websitesinde tutmak bu durumu azaltır. Ancak youtube videosu, twitter apisi, facebook eklentisi bunları oldukça arttırır ve site hızını düşürür. Ayrıca eklenen mouseflow, analytics gibi uygulamalar bunu etkiler. 

 

Genel Açıklama

Kaynakların sunulduğu benzersiz ana bilgisayar isimlerinin sayısını azaltarak, tarayıcının yapması gereken DNS çözünürlüklerinin sayısı azaltılır ve bu işlem ile RTT gecikir.

 

Google’dan Detaylar

Tarayıcının bir internet sunucusu ile ağ bağlantısı kurabilmesi için, ilk önce web sunucusunun DNS adını bir IP adresine çözmelidir. Kullanıcının önbelleğinde hala geçerli bir kayıt varsa, DNS çözünürlükleri kullanıcının tarayıcısı ve işletim sistemi tarafından önbelleklenebildiği için, herhangi bir gecikme yaşanmaz. Buna rağmen, eğer kullanıcının ağ üzerinden DNS araması yapması gerekiyorsa, geçerli bir yanıt sağlayabilecek bir DNS ad sunucusunun yakınlığına bağlı olarak gecikme süresinde ciddi ölçüde değişim görülebilir. ISS'lerin hepsinde, ad IP eşlemelerini yetkili ad sunucularından önbellekte tutan DNS sunucuları bulunur. Fakat; önbellekleme DNS sunucusunun kaydının süresi dolmuş ve yenilenmesi gerekiyorsa, yetkili bir sunucu bulabilmek için, bazen dünya genelinde DNS hizmet hiyerarşisinde bazı düğümleri geçmesi gerekebilir. Eğer ki, DNS çözümleyicileri yük altındaysa, gecikmeye ek olarak DNS çözümleme isteklerini de sıraya koyabilirler. Diğer bir deyişle, teoride, DNS çözünürlüğünün tamamlanması 1 RTT’yi alır. Fakat pratikte, DNS çözücü sıraya alma işlemlerinden kaynaklı geçikmelerden dolayı, gecikme süresi önemli ölçüde değişebilir. Bundan dolayı, DNS aramalarını diğer bütün istek çeşitlerinden daha çok azaltmak oldukça önemlidir.

Herhangi bir DNS kaydının geçerli olma durumu, birincil yetkili sunucusu tarafından belirlenen yaşam süresi (time-to-live, TTL) değerine göre belirlenir. Genellikle ağ yöneticileri, ağ trafiğinin kaydırılması gerektiği durumlarda hızlı güncellemelere izin verme amaçlı olarak TTL'yi çok düşük olacak şekilde ayarlar. (Genellikle 5 dakika ile 24 saat aralığında..) (Fakat tarayıcılar da dahil olmak üzere birçok DNS önbelleği "TTL itaatsizleri" dir. Ve bu önbellekler, bazı durumlarda 30 dakikaya kadar önbellek kaydını kaynak sunucu tarafından belirtilenden daha uzun süre tutar.) DNS kayıtlarınızın kullanım süresi ayarının artırılması, CNAME kayıtlarının en aza indirilmesi (bu durum ek arama gerektirir), ad sunucularınızın birden çok bölgede çoğaltılması ve buna benzer DNS arama zamanını azaltmak için çeşitli yollar bulunur. Fakat; tüm bunlar web uygulaması geliştirme kapsamının ötesinde bulunur ve sitenizin ağ trafiği yönetimi ihtiyaçları göz önüne alındığı zaman bu işlemleri uygulamak mümkün olmayabilir.

Bunun yerine, uygulamanızdaki DNS arama gecikmesini sınırlamanın en iyi yolu, kullanıcının yapması gerekli olan birbirinden farklı DNS aramalarının sayısını en minimum seviyede tutmaktır. Bu işlemin, özellikle internet sayfasının ilk yüklendiği sırada geciktiren aramalar için uygulanması gerekir. Bunu yapabilmeniz için, kaynakların indirilmesi gereken farklı ana bilgisayar isimlerinin sayısını en aza indirmeniz gerekir. Ancak, paralel indirmeleri başlatmak için birden fazla ana bilgisayar ismi kullanmanın yararları olduğu için, bu durum, biraz da sayfa başına sunulan kaynakların sayısına bağlıdır. Genellikle, önerilen en uygun sayı, 1 ile 5 arasında ana bilgisayardır (host).  (Önbellek kaynaklarını paralelleştirebilmek için 1 ana sunucunun yanında artı 4 adet ana bilgisayar gerekir.) Kural olarak, 6'dan az kaynak için 1'den fazla ana bilgisayar kullanılmamalıdır. Tek bir ana bilgisayardaki 2'den daha az kaynak kullanımı özellikle israf olacaktır. 5 adetten daha fazla ana bilgisayar (host) kullanma durumu hiçbir zaman gerekli olmayacaktır. (Bu bilgileri sunarken, reklamlar gibi üzerinde kontrolünüzün bulunmadığı kaynakları sunan ana bilgisayarlar dikkate alınmamıştır.)